]> dgit.raspbian.org Git - gnome-shell.git/commit
screenshot: Split out disabling cast button
authorFlorian Müllner <fmuellner@gnome.org>
Tue, 30 Jan 2024 18:56:42 +0000 (19:56 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Thu, 1 Feb 2024 12:17:43 +0000 (12:17 +0000)
commitd54e17d3d5391dd8980244e16a7dc315c97ef2bb
treee8ffb7214e1abb4ba7e694602fc90de031b55a1c
parentfa81335fe89f26acbf6c69df8230acc5df4e0ccf
screenshot: Split out disabling cast button

Screencasts can be disabled for various reasons:

 1. the service is not available (missing plugin etc.)
 2. screencasts are not allowed by the session mode
    (lock screen etc.)
 3. the UI is invoked in screenshot-only mode (portal)

Currently each of those conditions is handled in a different
code path, which means that later conditions can re-enable
the button.

There's also an inconsistency whether disabling the button
is done via visibility or reactivity, which still allows
toggling the hidden button via shortcuts (although a hidden
button means that screencasts aren't supported at all, so
nothing will be recorded in that case).

Address this by updating the button from a dedicated function.

Fixes: 671df28a50 ("screenshot: Only handle mode-switch shortcut when
supported")

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7358
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3155>
js/ui/screenshot.js